package com.iwhalecloud.bss.kite.cucc.client.vo.scene;

import com.iwhalecloud.bss.kite.client.vo.scene.DeliveryInfoModuleVO;
import com.iwhalecloud.bss.kite.client.vo.scene.SceneVO;
import com.iwhalecloud.bss.kite.client.vo.scene.StartRentInfoModuleVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Map;

@ApiModel(value = "SceneNewOfferSeneVO", description = "订单录入场景对象（客户联系人、发展人、经办人、代理人，附件和备注是公共属性）")
public class SceneNewOfferSeneVO extends SceneVO {

    /**
     *
     */
    private static final long serialVersionUID = -3021205481857437599L;


    /**
     * 外部参数
     */
    private Map<String, Object> extParams;

    /**
     * 展示配置单打印按钮（T展示，其他不展示）
     */
    private String showConfigPrintBtn;

    @ApiModelProperty("场景产品组件")
    private SceneProductModuleVO sceneProductModuleVO;


    @ApiModelProperty("资费可选包（非必选和默选）")
    private OptionalAdditionalOfferModuleVO additionalOffers;

    @ApiModelProperty("核查信息VO")
    private ResourceCheckInfoVO resourceCheckInfo;

    /**
     * 关联账户
     */
    private AccountModuleVO account = new AccountModuleVO();

    /**
     * 关联合同
     */
    private ContractModuleVO contract = new ContractModuleVO();

    /**
     * 附件和备注
     */
    private AttachmentModuleVO attachment = new AttachmentModuleVO();

    /**
     * 订单信息
     */
    private OrderInfoVO orderInfo;

    /**
     * 异常/打回信息
     */
    private ExceptionInfoVO exceptionInfo;

    /**
     * 售前信息
     */
    private PreSalesInfoVO presaleInfo;
    /**
     * 移机
     */
    private ReplacementVO Replacement;
    /**
     * 客户信息
     */
    private CustInfoVO custInfo;

    /**
     * 资费信息
     */
    private GoodsFeeInfoVO goodsFeeInfo;

    /**
     * 折扣信息
     */
    private DiscountModuleVO discountVO;

    /**
     * 预约传输计划
     */
    private TransferPlanModuleVO transferPlanModuleVO;

    /**
     * 业务变更--操作类型
     */
    private ServiceOfferInfoModuleVO serviceOfferInfoModuleVO;

    /**
     * 业务变更可操作信息模块
     */
    private GoodsModifyInfoVO goodsModifyInfo;

    /**
     * 停机信息
     */
    private ShutdownInfoVO shutdownInfoVO;

    /**
     * 经办人信息-用户停机
     */
    private OperatorCustInfoVO operatorCustInfo;

    /**
     * 过户可操作信息模块
     */
    private TransferInfoVO transferInfo;

    /**
     * 销户原因
     */
    private PreRemoveMachineInfoVO preRemoveMachineInfo;

    /**
     * 离网信息
     */
    private LeaveNetworkInfoVO leaveNetworkInfo;

    /**
     * 联系人-用户预销户
     */
    private ConnectionPersonInfoVO connectionPersonInfo;

    /**
     * 审核信息
     */
    private OrderReviewInfoModuleVO orderReciveInfoModuleVO;

    /**
     * 收货信息
     */
    private DeliveryInfoModuleVO  deliveryInfo;

    /**
     * 用户过户模块
     */
    private TransferInfoNewVO transferInfoNewVO;

    /**
     * 起租信息
     */
    private StartRentInfoModuleVO startRentInfo;

    /**
     * 退单重提信息
     */
    private ReCommitInfoVO reCommitInfoVO;

    /**
     * 订单概要信息
     */
    private OrderSummaryInfoVO orderSummaryInfo;

    /**
     * 退单信息
     */
    private CancelOrderInfoVO cancelOrderInfoVO;

    /**
     * 加急/延期信息
     */
    private UrgentOrPostponeInfoVO urgentOrPostponeInfoVO;

    /**
     * 挂起/解挂信息
     */
    private LockOrReleaseInfoVO lockOrReleaseInfoVO;


    /**
     * 集团用户信息加入，退出
     */
    private DealGroupUserInfoVO dealGroupUserInfoVO;

    /**
     * 导入信息模块
     */
    private BusiImportInfoVO busiImportInfoVO;

    /**
     * 批量-调整记录模块信息
     */
    private BusiAdjustmentInfoVO busiAdjustmentInfoVO;

    /** 计价因子列表 */
    private PriceFactorsVO priceFactorsVO;

    /**
     * 打回信息
     */
    private NotApprovedInfoVO notApprovedInfoVO;

    /**
     * 批量订单信息模块
     */
    private BatchAcceptOrderInfoVO batchAcceptOrderInfoVO;

    /**
     * 保存草稿按钮显示
     */
    private String showSaveDraftBtn;

    public OrderSummaryInfoVO getOrderSummaryInfo() {
        return orderSummaryInfo;
    }

    public void setOrderSummaryInfo(OrderSummaryInfoVO orderSummaryInfo) {
        this.orderSummaryInfo = orderSummaryInfo;
    }

    public SceneProductModuleVO getSceneProductModuleVO() {
        return sceneProductModuleVO;
    }

    public void setSceneProductModuleVO(SceneProductModuleVO sceneProductModuleVO) {
        this.sceneProductModuleVO = sceneProductModuleVO;
    }

    public AttachmentModuleVO getAttachment() {
        return attachment;
    }

    public void setAttachment(AttachmentModuleVO attachment) {
        this.attachment = attachment;
    }

    public OrderInfoVO getOrderInfo() {
        return orderInfo;
    }

    public void setOrderInfo(OrderInfoVO orderInfo) {
        this.orderInfo = orderInfo;
    }

    public ExceptionInfoVO getExceptionInfo() {
        return exceptionInfo;
    }

    public void setExceptionInfo(ExceptionInfoVO exceptionInfo) {
        this.exceptionInfo = exceptionInfo;
    }

    public PreSalesInfoVO getPresaleInfo() {
        return presaleInfo;
    }

    public void setPresaleInfo(PreSalesInfoVO presaleInfo) {
        this.presaleInfo = presaleInfo;
    }

    public void setReplacement(ReplacementVO replacementVO) {
        this.Replacement = replacementVO;
    }

    public ReplacementVO getReplacement() {
        return Replacement;
    }

    public CustInfoVO getCustInfo() {
        return custInfo;
    }

    public void setCustInfo(CustInfoVO custInfo) {
        this.custInfo = custInfo;
    }

    public GoodsFeeInfoVO getGoodsFeeInfo() {
        return goodsFeeInfo;
    }

    public void setGoodsFeeInfo(GoodsFeeInfoVO goodsFeeInfo) {
        this.goodsFeeInfo = goodsFeeInfo;
    }

    public AccountModuleVO getAccount() {
        return account;
    }

    public void setAccount(AccountModuleVO account) {
        this.account = account;
    }

    public ContractModuleVO getContract() {
        return contract;
    }

    public void setContract(ContractModuleVO contract) {
        this.contract = contract;
    }

    public OptionalAdditionalOfferModuleVO getAdditionalOffers() {
        return additionalOffers;
    }

    public void setAdditionalOffers(OptionalAdditionalOfferModuleVO additionalOffers) {
        this.additionalOffers = additionalOffers;
    }

    public DiscountModuleVO getDiscountVO() {
        return discountVO;
    }

    public void setDiscountVO(DiscountModuleVO discountVO) {
        this.discountVO = discountVO;
    }

    public TransferPlanModuleVO getTransferPlanModuleVO() {
        return transferPlanModuleVO;
    }

    public void setTransferPlanModuleVO(TransferPlanModuleVO transferPlanModuleVO) {
        this.transferPlanModuleVO = transferPlanModuleVO;
    }

    public ResourceCheckInfoVO getResourceCheckInfo() {
        return resourceCheckInfo;
    }

    public void setResourceCheckInfo(ResourceCheckInfoVO resourceCheckInfo) {
        this.resourceCheckInfo = resourceCheckInfo;
    }

    public ServiceOfferInfoModuleVO getServiceOfferInfoModuleVO() {
        return serviceOfferInfoModuleVO;
    }

    public void setServiceOfferInfoModuleVO(ServiceOfferInfoModuleVO serviceOfferInfoModuleVO) {
        this.serviceOfferInfoModuleVO = serviceOfferInfoModuleVO;
    }

    public GoodsModifyInfoVO getGoodsModifyInfo() {
        return goodsModifyInfo;
    }

    public void setGoodsModifyInfo(GoodsModifyInfoVO goodsModifyInfo) {
        this.goodsModifyInfo = goodsModifyInfo;
    }

    public ShutdownInfoVO getShutdownInfoVO() {
        return shutdownInfoVO;
    }

    public void setShutdownInfoVO(ShutdownInfoVO shutdownInfoVO) {
        this.shutdownInfoVO = shutdownInfoVO;
    }

    public OperatorCustInfoVO getOperatorCustInfo() {
        return operatorCustInfo;
    }

    public void setOperatorCustInfo(OperatorCustInfoVO operatorCustInfo) {
        this.operatorCustInfo = operatorCustInfo;
    }

    public TransferInfoVO getTransferInfo() {
        return transferInfo;
    }

    public void setTransferInfo(TransferInfoVO transferInfo) {
        this.transferInfo = transferInfo;
    }

    public PreRemoveMachineInfoVO getPreRemoveMachineInfo() {
        return preRemoveMachineInfo;
    }

    public void setPreRemoveMachineInfo(PreRemoveMachineInfoVO preRemoveMachineInfo) {
        this.preRemoveMachineInfo = preRemoveMachineInfo;
    }

    public LeaveNetworkInfoVO getLeaveNetworkInfo() {
        return leaveNetworkInfo;
    }

    public void setLeaveNetworkInfo(LeaveNetworkInfoVO leaveNetworkInfo) {
        this.leaveNetworkInfo = leaveNetworkInfo;
    }

    public ConnectionPersonInfoVO getConnectionPersonInfo() {
        return connectionPersonInfo;
    }

    public void setConnectionPersonInfo(ConnectionPersonInfoVO connectionPersonInfo) {
        this.connectionPersonInfo = connectionPersonInfo;
    }

    public OrderReviewInfoModuleVO getOrderReciveInfoModuleVO() {
        return orderReciveInfoModuleVO;
    }

    public void setOrderReciveInfoModuleVO(OrderReviewInfoModuleVO orderReciveInfoModuleVO) {
        this.orderReciveInfoModuleVO = orderReciveInfoModuleVO;
    }

    public ReCommitInfoVO getReCommitInfoVO() {
        return reCommitInfoVO;
    }

    public void setReCommitInfoVO(ReCommitInfoVO reCommitInfoVO) {
        this.reCommitInfoVO = reCommitInfoVO;
    }

    public DeliveryInfoModuleVO getDeliveryInfo() {
        return deliveryInfo;
    }

    public void setDeliveryInfo(DeliveryInfoModuleVO deliveryInfo) {
        this.deliveryInfo = deliveryInfo;
    }

    public StartRentInfoModuleVO getStartRentInfo() {
        return startRentInfo;
    }

    public void setStartRentInfo(StartRentInfoModuleVO startRentInfo) {
        this.startRentInfo = startRentInfo;
    }

    public String getShowConfigPrintBtn() {
        return showConfigPrintBtn;
    }

    public void setShowConfigPrintBtn(String showConfigPrintBtn) {
        this.showConfigPrintBtn = showConfigPrintBtn;
    }

    public CancelOrderInfoVO getCancelOrderInfoVO() {
        return cancelOrderInfoVO;
    }

    public void setCancelOrderInfoVO(CancelOrderInfoVO cancelOrderInfoVO) {
        this.cancelOrderInfoVO = cancelOrderInfoVO;
    }

    public UrgentOrPostponeInfoVO getUrgentOrPostponeInfoVO() {
        return urgentOrPostponeInfoVO;
    }

    public void setUrgentOrPostponeInfoVO(UrgentOrPostponeInfoVO urgentOrPostponeInfoVO) {
        this.urgentOrPostponeInfoVO = urgentOrPostponeInfoVO;
    }

    public LockOrReleaseInfoVO getLockOrReleaseInfoVO() {
        return lockOrReleaseInfoVO;
    }

    public void setLockOrReleaseInfoVO(LockOrReleaseInfoVO lockOrReleaseInfoVO) {
        this.lockOrReleaseInfoVO = lockOrReleaseInfoVO;
    }

    public DealGroupUserInfoVO getDealGroupUserInfoVO() {
        return dealGroupUserInfoVO;
    }

    public void setDealGroupUserInfoVO(DealGroupUserInfoVO dealGroupUserInfoVO) {
        this.dealGroupUserInfoVO = dealGroupUserInfoVO;
    }

    public TransferInfoNewVO getTransferInfoNewVO() {
        return transferInfoNewVO;
    }

    public void setTransferInfoNewVO(TransferInfoNewVO transferInfoNewVO) {
        this.transferInfoNewVO = transferInfoNewVO;
    }

    public BusiImportInfoVO getBusiImportInfoVO() {
        return busiImportInfoVO;
    }

    public void setBusiImportInfoVO(BusiImportInfoVO busiImportInfoVO) {
        this.busiImportInfoVO = busiImportInfoVO;
    }

    public BusiAdjustmentInfoVO getBusiAdjustmentInfoVO() {
        return busiAdjustmentInfoVO;
    }

    public void setBusiAdjustmentInfoVO(BusiAdjustmentInfoVO busiAdjustmentInfoVO) {
        this.busiAdjustmentInfoVO = busiAdjustmentInfoVO;
    }

    public PriceFactorsVO getPriceFactorsVO() {
        return priceFactorsVO;
    }

    public void setPriceFactorsVO(PriceFactorsVO priceFactorsVO) {
        this.priceFactorsVO = priceFactorsVO;
    }

    public BatchAcceptOrderInfoVO getBatchAcceptOrderInfoVO() {
        return batchAcceptOrderInfoVO;
    }

    public void setBatchAcceptOrderInfoVO(BatchAcceptOrderInfoVO batchAcceptOrderInfoVO) {
        this.batchAcceptOrderInfoVO = batchAcceptOrderInfoVO;
    }

    public NotApprovedInfoVO getNotApprovedInfoVO() {
        return notApprovedInfoVO;
    }

    public void setNotApprovedInfoVO(NotApprovedInfoVO notApprovedInfoVO) {
        this.notApprovedInfoVO = notApprovedInfoVO;
    }

    public Map<String, Object> getExtParams() {
        return extParams;
    }

    public void setExtParams(Map<String, Object> extParams) {
        this.extParams = extParams;
    }

    public String getShowSaveDraftBtn() {
        return showSaveDraftBtn;
    }

    public void setShowSaveDraftBtn(String showSaveDraftBtn) {
        this.showSaveDraftBtn = showSaveDraftBtn;
    }

    public SceneNewOfferSeneVO() {
        sceneProductModuleVO = new SceneProductModuleVO();
        orderInfo = new OrderInfoVO();
        custInfo = new CustInfoVO();
        goodsFeeInfo = new GoodsFeeInfoVO();
        discountVO = new DiscountModuleVO();
        transferPlanModuleVO = new TransferPlanModuleVO();
        resourceCheckInfo = new ResourceCheckInfoVO();
        goodsModifyInfo = new GoodsModifyInfoVO();
        serviceOfferInfoModuleVO = new ServiceOfferInfoModuleVO();
        shutdownInfoVO = new ShutdownInfoVO();
        operatorCustInfo = new OperatorCustInfoVO();
        serviceOfferInfoModuleVO = new ServiceOfferInfoModuleVO();
        transferInfo = new TransferInfoVO();
        preRemoveMachineInfo = new PreRemoveMachineInfoVO();
        leaveNetworkInfo = new LeaveNetworkInfoVO();
        connectionPersonInfo = new ConnectionPersonInfoVO();
        reCommitInfoVO = new ReCommitInfoVO();
        deliveryInfo = new DeliveryInfoModuleVO();
        startRentInfo = new StartRentInfoModuleVO();
        orderSummaryInfo = new OrderSummaryInfoVO();
        cancelOrderInfoVO = new CancelOrderInfoVO();
        urgentOrPostponeInfoVO = new UrgentOrPostponeInfoVO();
        lockOrReleaseInfoVO = new LockOrReleaseInfoVO();
        dealGroupUserInfoVO = new DealGroupUserInfoVO();
        busiImportInfoVO = new BusiImportInfoVO();
        busiAdjustmentInfoVO = new BusiAdjustmentInfoVO();
        priceFactorsVO = new PriceFactorsVO();
        batchAcceptOrderInfoVO = new BatchAcceptOrderInfoVO();
        notApprovedInfoVO = new NotApprovedInfoVO();
    }
}
